package com.ynet.middleground.mobile.approve.request;

import java.util.List;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;

import com.ynet.middleground.approve.bean.CommentFile;
import com.ynet.middleground.mobile.approve.response.BusinessFormDataForFile;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 项目名：ifp-mobile-approve <br>
 * 包名：com.ynet.middleground.mobile.approve.request <br>
 * 类名：CompleteTaskReq <br>
 * 描述： 同意操作、提交任务请求信息
 * 
 * @author Suremotoo
 * @create 2021-03-30 14:48
 */
@Data
@ApiModel(value = "同意操作、提交任务请求信息")
public class CompleteTaskReq extends BaseTaskReq {

    private static final long serialVersionUID = -3019928534520593086L;

    @NotBlank(message = "流程实例 id 不能为空")
    @ApiModelProperty(value = "流程实例 id", required = true)
    private String processInstanceId;

    // @NotBlank(message = "审批处理意见不能为空")
    @ApiModelProperty(value = "审批处理意见", required = false)
    private String comment;

    @ApiModelProperty(value = "审批意见附件信息列表,必须先填写 commnet 备注，否则不生效", notes = "审批意见附件信息列表,必须先填写 commnet 备注，否则不生效")
    @Valid
    private List<CommentFile> commentFiles;

    @NotBlank(message = "手机号不能为空")
    @ApiModelProperty(value = "手机号", required = true)
    private String mobile;

    /**
     * 签章需要短信验证码，验证码会通过 e 签宝服务发送到 mobile 手机号中
     */
    @ApiModelProperty(value = "签章需要短信验证码，验证码会通过 e 签宝服务发送到 mobile 手机号中")
    private String code;

    /**
     * 如有签章， e 签宝证书号 <br>
     * 注意：该证书信息取自业务数据中第一个签章文件，移动审批中仅使用 1 个签章信息，对业务数据中所有的待签章文件进行批量签章
     */
    @ApiModelProperty(value = "如有签章， e 签宝证书号  注意：该证书信息取自业务数据中第一个签章文件，移动审批中仅使用 1 个签章信息，对业务数据中所有的待签章文件进行批量签章")
    private String accountId;

    /**
     * 如有签章， 印模 id <br>
     * 注意：该证书信息取自业务数据中第一个签章文件，移动审批中仅使用 1 个签章信息，对业务数据中所有的待签章文件进行批量签章
     */
    @ApiModelProperty(value = "如有签章， 印模 id  注意：该证书信息取自业务数据中第一个签章文件，移动审批中仅使用 1 个签章信息，对业务数据中所有的待签章文件进行批量签章")
    private Integer sealId;

    /**
     * 选择的下一个节点审批人, ed: u-140
     */
    @ApiModelProperty(value = "选择的下一个节点审批人, ed: u-140")
    private String selectedApprover;

    /**
     * 上传文件列表
     */
    @ApiModelProperty(value = "上传文件列表")
    private List<UploadFileBean> uploadFiles;

    /**
     * 待签署文件列表
     */
    @ApiModelProperty(value = "待签署文件列表")
    private List<BusinessFormDataForFile> signFiles;

    /**
     * 填写的放款验证码
     */
    @ApiModelProperty(value = "放款验证码")
    private String lendersCaptcha;

    /**
     * 选择的放款方式
     */
    @ApiModelProperty(value = "放款方式（0: 线上，1: 线下）")
    private String loanDisbursementMethod;

}
